import request from '@/utils/request'

// 查询课程安排列表（表格形式）
export function getScheduleList(query) {
  return request({
    url: '/admin-api/system/schedule/list',
    method: 'get',
    params: query
  })
}

// 查询课程安排详情
export function getSchedule(id) {
  return request({
    url: '/admin-api/system/schedule/get?id=' + id,
    method: 'get'
  })
}

// 新增课程安排
export function addSchedule(data) {
  return request({
    url: '/admin-api/system/schedule/create',
    method: 'post',
    data: data
  })
}

// 修改课程安排
export function updateSchedule(data) {
  return request({
    url: '/admin-api/system/schedule/update',
    method: 'put',
    data: data
  })
}

// 删除课程安排
export function delSchedule(id) {
  return request({
    url: '/admin-api/system/schedule/delete?id=' + id,
    method: 'delete'
  })
}

// 检查时间地点冲突
export function checkConflict(data) {
  return request({
    url: '/admin-api/system/schedule/check-conflict',
    method: 'post',
    data: data
  })
}

// 获取所有教室/地点列表
export function getLocationList() {
  return request({
    url: '/admin-api/system/schedule/locations',
    method: 'get'
  })
}

// 获取课程表格数据（按周次、地点组织）
export function getScheduleTable(query) {
  return request({
    url: '/admin-api/system/schedule/table',
    method: 'get',
    params: query
  })
}

// 获取教师个人课表
export function getTeacherSchedule(query) {
  return request({
    url: '/admin-api/system/schedule/teacher-schedule',
    method: 'get',
    params: query
  })
}

// 更新课程内容
export function updateCourseContent(data, teacherName) {
  return request({
    url: `/admin-api/system/schedule/update-course?teacherName=${encodeURIComponent(teacherName)}`,
    method: 'put',
    data: data
  })
}

// 检查时间段和教室冲突
export function checkTimeConflict(query) {
  return request({
    url: '/admin-api/system/schedule/check-time-conflict',
    method: 'get',
    params: query
  })
}
